1. Field of the Invention
The present invention relates to technology for automatically generating a control program, which performs vehicle control and is embedded in an electronic control unit.
2. Description of Related Art
In recent years, program code generators have been developed. The program code generators model specifications of programs installed in computer systems and automatically generate a corresponding program based on abstract language that describes a corresponding model.
Examples of such abstract language include simple block diagrams (such as data flow diagrams), state transition diagrams (such as state charts) and more recently the Unified Modeling Language (UML).
These program code generators automatically generate program code from the abstract language, which resembles human thought processes. Thus, these program code generators can be used to quickly implement specification changes and thus help to shorten program development times.
However, program code generators such as those described above were developed for the purpose of developing programs that run on workstations and general purpose personal computers and are not directly applicable to developing a control program embedded in an electronic control unit of a vehicle.
This will be described more fully below.
Generally, the previously proposed program code generators define variables as global variables or automatic variables and handle them in the same way.
For example, all variables are stored in a memory area, which cannot retain its contents when the power turns off. This is, in the general purpose personal computers and the workstations, these variables are supposed to be backed up to a hard disk drive.
However, in vehicle control systems, specific variables, which are specific to vehicle control operation and must be saved or backed up, are handled in a specific manner that is different from a manner of handling ordinary variables.
More specifically, specific values, such as learning values, are stored in a specific memory area (or storage area) that is different from a memory area for storing the ordinary variables and is capable of keeping its contents even when an ignition key of the vehicle is turned off. This is due to the fact that the vehicle needs to be appropriately controlled based on previously obtained learning values, which are obtained or learned during previous operation of the vehicle, when the ignition key is turned on. Furthermore, failure information, which is required by law to be stored, must also be stored in the specific memory area that is different from the memory area for storing the ordinary variables.
That is, the specific variables, which are specific to the vehicle control operation, require a vehicle specific program.
Thus, during development of the vehicle control program through use of the previously proposed program code generator, a designer needs to manually modify the generated program code.